// 需求： 你要封装一个方法，我给你一个要读取文件的路径，你这个方法帮我读取文件，并把内容返回给我

const fs = require('fs')

const path = require('path')

// 这是普通读取文件的方式
/*
fs.readFile(path.join(__dirname,'./files/1.txt'),'utf-8',(err,dataStr)=>{
    if(err) throw err
    console.log(dataStr)
})
*/

// 初衷： 给定文件路径，返回读取到的内容
// 我们可以规定一下，callback中，有2个参数，第一个参数，是失败的结果；第二个参数是成功的结果
//同时，我们规定了：如果成功后，返回的结果，应该位于callback参数的第二个位置，此时，第一个位置由于没有出错，
// 所以，放一个mull；如果失败了，则第一个位置放 Error对象，第一个位置放置一个 undefined
function getFileByPath(fpath,callback){
    fs.readFile(fpath,'utf-8',(err,dataStr)=>{
        // if(err) throw err
        // 如果报错，进入if分支后，if后面的代码就没有必要执行了
        if(err) callback(err)
        // console.log(dataStr)
        // return dataStr
        callback(null,dataStr)
    })
}

/*
var result = getFileByPath(path.join(__dirname,'./files/1.txt'))
console.log(result)
*/
getFileByPath(path.join(__dirname,'./files/1.txt'),(err,dataStr)=>{
    // console.log(dataStr + '------')
    if(err) return console.log(err.message)
    console.log(dataStr)

})










